1. Field of the invention
The present invention relates to a single chip microcomputer, and more specifically to a single chip microcomputer having a function of protecting the secrecy of the content of an internal ROM.
2. Description of related art
Some conventional single chip microcomputers have an internal ROM (read only memory) operation mode and an external memory operation mode. In this type of single chip microcomputer, an address discriminating circuit is provided internally in the single chip microcomputer so as to discriminate whether an address on an internal address bus is directed to an internal ROM or an external memory. If the address is directed to the internal ROM, the address discriminating circuit controls an associated selector to cause it to select the internal ROM. so that for example a CPU (central processing unit) can access the internal ROM. If the address is directed to the external memory, the address discriminating circuit controls to selector to cause it to select the external memory, so that the CPU can access the external memory.
In addition, there is provided an operation mode designating terminal which is externally accessible. If the operation mode designating terminal is brought to an external memory operation mode designation level, the address discriminating circuit controls the selector to select the external memory, regardless of the address on the internal address bus.
Generally, the external memory has an address space considerably larger than that of the internal ROM. In some cases, a program for reading out a content of the internal ROM is stored in the external memory at a location having an address different from that of the internal ROM. In this case, if the CPU is initialized and the operation mode designating terminal is set to the external memory operation mode designation level, a programmed operation is started from a heading (e.g., a first) address of the external memory. If the program for reading out the content of the internal ROM starts from the heading address of the external memory, the internal ROM reading program is executed. In the course of execution of this reading program, even if the level of the operation mode designating terminal is changed from the external memory operation mode designation level to an internal ROM operation mode designation level, since the address storing the internal ROM reading program is out of an address area of the internal ROM, the address discriminating circuit continues to control the selector to cause it to select the program data stored in the external memory, so that the reading program stored in the external memory is continuously executed.
Further, when the operation mode designating terminal is set to the internal ROM operation mode designation level, if an instruction for sequentially reading the data stored in the internal ROM is executed in the course of execution of the program, since an address to be read is in the address area of the internal ROM. the address discriminating circuit controls the selector to cause it to select the output of the internal ROM. Therefore, the data of the internal ROM is sent through an internal data bus to an external data bus.
Namely, the data stored in the internal ROM of the single chip microcomputer can be easily read out by even a third party by means of the program stored in the external memory, by handling the level of the operation node designating terminal. This is disadvantageous since even a third party can read out the data and therefore the software lacks secrecy.